#!/usr/bin/env python3
"""
AI聊天助手API启动脚本 - 智谱AI版本（独立项目）
"""

import os
import sys
import uvicorn
from pathlib import Path
from dotenv import load_dotenv

load_dotenv()


def main():
    """主函数"""

    # 检查Python版本
    if sys.version_info < (3, 8):
        print("错误: 需要Python 3.8或更高版本")
        sys.exit(1)

    # 检查依赖包
    try:
        import fastapi
        import uvicorn
        import httpx
        import pydantic
        import zai  # 智谱AI依赖
    except ImportError as e:
        print(f"错误: 缺少依赖包 {e}")
        print("请运行: pip install -r requirements.txt")
        sys.exit(1)

    # 设置环境变量
    os.environ.setdefault("HOST", "0.0.0.0")
    os.environ.setdefault("PORT", "8001")
    os.environ.setdefault("DEBUG", "True")
    os.environ.setdefault("LOG_LEVEL", "info")

    # 获取配置
    host = os.getenv("HOST", "0.0.0.0")
    port = int(os.getenv("PORT", "8001"))
    debug = os.getenv("DEBUG", "True").lower() == "true"
    log_level = os.getenv("LOG_LEVEL", "info")

    print("=" * 60)
    print("AI聊天助手API服务器 - 智谱AI版本")
    print("=" * 60)
    print(f"访问地址: http://{host}:{port}")
    print(f"API文档: http://{host}:{port}/docs")
    print(f"API端点: POST /api/chat2")
    print(f"健康检查: GET /health")
    print("=" * 60)

    # 检查智谱AI API密钥配置
    if not os.getenv("ZHIPU_API_KEY"):
        print("警告: 未配置智谱AI API密钥")
        print("将使用默认API密钥（可能有限制）")
        print("建议配置: ZHIPU_API_KEY=your_api_key")
        print("=" * 60)

    # 启动服务器
    try:
        uvicorn.run(
            "popular_fastapi:app",
            host=host,
            port=port,
            reload=debug,
            log_level=log_level,
            access_log=True
        )
    except KeyboardInterrupt:
        print("\n服务器已停止")
    except Exception as e:
        print(f"启动服务器时出错: {e}")
        sys.exit(1)


if __name__ == "__main__":
    main()
